package com.tmall.testgen.client.commond;

import java.util.List;
import java.util.Map;

import com.tmall.testgen.common.bo.interact.back.InterceptInfo;
import com.tmall.testgen.common.bo.interact.back.syn.ConnectionSuccResult;
import com.tmall.testgen.common.bo.interact.back.syn.SendCommonResult;
import com.tmall.testgen.server.socket.CommondEnum;
/**
 * @author haojia
 * @date 2014-07-04
 */
public interface SendCommond {

//	/**
//	 * 发送连接请求，此处会等待线程直到连接成功，将连接推送至远程机，启动远程机器socket并收集拦截数据返回，函数内部需指定唯一机器码
//	 * @param ip
//	 * @param pid
//	 */
    public ConnectionSuccResult tryAttatch( String ip,String pid) throws Exception ;
//	public ConnectionSuccResult sendConnection(final String ip, final String pid,boolean isTransfer,final String agentJarPath)throws Exception;
//	
	
	/**
	 * 参数仅现定于2 3 4 5 
	 * @param commond
	 */
	public SendCommonResult sendCommond(CommondEnum commond);
	
	/**
	 * 刷新数据，同步远程机上的数据
	 * @return
	 */
	public List<InterceptInfo> refrehInterceptInfo();
	
	/**
	 * 修改拦截条件
	 */
	public boolean changeInterceptCond(String cond);
	
	/**
	 * 修改方法拦截参数条件
	 * @param cond
	 * @return
	 */
	public boolean changeInerceptMethodCond(String cond);
//	/**
//	 * 获取本地虚拟机
//	 * @return <pid, showName>
//	 */
//	public Map<String,String> getLocalVMs() throws Throwable ;
	/**
	 * 获取远程虚拟机
	 * @param ip
	 * @return <pid, showName>
	 */
	public Map<String,String> getRemoteVMs(String ip)  throws Exception;
}
